package com.whoimi.common;

/**
 * @author whoimi
 * @since 2025-01-14
 **/
public enum CommonStatus {
    /**
     * 初始化状态
     */
    INIT("I"),

    /**
     * 运行中状态
     */
    RUNNING("R"),

    /**
     * 成功状态
     */
    SUCCESS("S"),

    /**
     * 异常状态
     */
    EXCEPTION("E"),

    /**
     * 未知状态
     */
    UNKNOWN("U");

    private final String code;

    @Override
    public String toString() {
        return this.code;
    }


    CommonStatus(String code) {
        this.code = code;
    }

    public String getCode() {
        return code;
    }

    /**
     * 通过状态代码查找枚举实例
     *
     * @param code 状态代码
     * @return 对应的枚举实例，如果找不到则返回 UNKNOWN
     */
    public static CommonStatus valueOfCode(String code) {
        if (code == null) {
            return UNKNOWN;
        }
        for (CommonStatus status : CommonStatus.values()) {
            if (status.getCode().equals(code)) {
                return status;
            }
        }
        return UNKNOWN;
    }


}
